﻿// DigitalDesign
// Project: InformationBoard
// Developer: Montak Oleg
// Created: 15.11.2011
// Last change: 16.11.2011
// Description: extension methods for EF-entities

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Server
{
    /// <summary>
    /// Расширяет ClientChax вычисляемым полем DataVersion
    /// </summary>
    public partial class ClientChanx
    {
        public void Update(wClientChanx wClientChanges)
        {
            Id = wClientChanges.Id;
            ClientDevice_Id = wClientChanges.ClientDeviceId;
            SchedulesDataVersion = wClientChanges.SchedulesDataVersion;
            VideoDataVersion = wClientChanges.SchedulesDataVersion;
            SettingsDataVersion = wClientChanges.SchedulesDataVersion;
        }

        /// <summary>
        /// Общая версия данных. Вычисляется как макс. среди отдельных
        /// компонентов(версии расписания, версии видео, версии настроек).
        /// </summary>
        public int DataVersion
        {
            get
            {
                // выбор максимального числа из 3-х
                // писать функцию для N переменных мне было лениво
                if (this.SchedulesDataVersion > this.VideoDataVersion)
                    return Math.Max(this.SchedulesDataVersion, this.SettingsDataVersion);
                else
                    return Math.Max(this.VideoDataVersion, this.SettingsDataVersion);
            }
        }
    }
}
